using AutoMapper;
using ERP.Application.Contracts.ERPSystem.ProductionSystem.Dto;
using ERP.Common.DTO;
using ERP.Domain.Team.ProductionSystem;
using ERP.ERPSystem.HumanResources.Dto;
using ERP.ERPSystem.HumanResources.Dto.InterviewMenagementI;
using ERP.ERPSystem.OrderManagement.Dto;
using ERP.ERPSystem.ProductionSystem.Dto;
using ERP.ERPSystem.RBAC.Dto;
using ERP.ERPSystem.WarehouseManagement.Dto;
using ERP.Team.HumanResources;
using ERP.Team.OrderManagement;
using ERP.Team.ProductionSystem;
using ERP.Team.RBAC;
using ERP.Team.WarehouseManagement;
using CustomerModel = ERP.Team.ProductionSystem.CustomerModel;
using JobGradeManagement = ERP.Team.HumanResources.JobGradeManagement;
using OnboardingReview = ERP.Team.HumanResources.OnboardingReview;

namespace ERP.Web;

public class ERPWebAutoMapperProfile : Profile
{
    public ERPWebAutoMapperProfile()
    {
        //Define your object mappings here, for the Web project
        //权限-grx
        CreateMap<PermissionModel, PermissionDTO>().ReverseMap();
        //用户-xzc
        CreateMap<UserDto, UserModel>().ReverseMap();
        //角色-zyn
        CreateMap<RoleModel, RoleDto>().ReverseMap();
        //人资系统-入职审核-xzc
        CreateMap<OnboardingReview, OnboardingReviewDto>().ReverseMap();
        //职级管理-zyn
        CreateMap<JobGradeManagement, JobGradeDto>().ReverseMap();
        //生产系统-生产管理-生产报工-xzc
        CreateMap<ProductionReportingMain, ProductionReportingMainDto>().ReverseMap();
        //生产系统-设备管理-维修单-xzc
        CreateMap<Repair, RepairDto>().ReverseMap();
        //仓储管理-库存信息-库存现有量-xzc
        CreateMap<Inventory, InventoryDto>().ReverseMap();
        //仓储管理-销售退货-xzc
        CreateMap<SalesReturns, SalesReturnsDto>().ReverseMap();
        //仓储管理-外协发料-xzc
        CreateMap<IssuingMaterials, IssuingMaterialsDto>().ReverseMap();
        //生产系统-质量管理-出货检验-xzc
        CreateMap<OutgoingInspectionDto, OutgoingInspection>().ReverseMap();
        //面试管理
        CreateMap<InterviewMenagementIDto, InterviewMenagementModel>().ReverseMap();
        //生产系统-生产工单-zyn
        CreateMap<ProductionReportingMainDto, ProductionReportingMain>().ReverseMap();
        //物料产品dto--grx
        CreateMap<MaterialproductDTO, MaterialproductModel>().ReverseMap();
        //生产系统-主数据-物料产品分类 --wyx
        CreateMap<MaterialTypeAddDTO, ERP.Team.ProductionSystem.MaterialType>().ReverseMap();
        //生产系统-生产派单-zyn
        CreateMap<ProductionDispatchMainDto, ProductionDispatchMain>().ReverseMap();
        //生产系统-生产退料-zyn
        CreateMap<ProductionMaterialReturnDto, ProductionMaterialReturn>().ReverseMap();
        CreateMap<ProductionDispatchMainDto, Migrations.ProductionDispatchMains>().ReverseMap();
        //生产系统-生产管理-生产领料-grx
        CreateMap<ProductionpickingDTO,ProductionpickingModel>().ReverseMap();
        //生产系统-生产管理-设备台账-grx
        CreateMap<DeviceledgerDTO, DeviceledgerModel>().ReverseMap();
        //生产系统-主数据-工艺流程 - wyx
        CreateMap<CreateUpdateWorkmanshipDto, Workmanship>().ReverseMap();
        //生产系统-主数据-工艺流程02 - wyx
        CreateMap<Workmanship, WorkmanshipDTO>().ReverseMap();
        //生产系统-主数据-车间设置 - wyx
        CreateMap<CreateUpdateWorkshopDto, Workshop>().ReverseMap();
        //生产系统-主数据-车间设置02 - wyx
        CreateMap<Workshop, WorkshopDTO>().ReverseMap();
        //生产系统-主数据-客户管理 - wyx
        CreateMap<CustomerModel, CustomerDto>().ReverseMap();
        //生产系统-主数据-客户管理02 - wyx
        CreateMap<CreateUpdateProductionWasteOrderDto, ProductionWasteOrder>().ReverseMap();
        //生产系统-主数据-客户管理03 - wyx
        CreateMap<CreateUpdateCustomerDto, CustomerModel>().ReverseMap();
        //生产系统-主数据-生产废料 - wyx
        CreateMap<CustomerModel, CustomerDto>().ReverseMap();
        //生产系统-主数据-生产废料02 - wyx
        CreateMap<ProductionWasteOrder, ProductionWasteOrderDto>().ReverseMap();
        //生产系统-设备管理-点检保养项目-xzc
        CreateMap<SpotChecksDto, SpotChecks>().ReverseMap();
        //生产系统-设备管理-点检保养计划-xzc
        CreateMap<MaintenanceDto, Maintenance>().ReverseMap();
        //生产系统-生产管理-过程检测-zyn
        CreateMap<ProcessDTO, Process>().ReverseMap();
        //生产系统-生产管理-班组设置-zyn
        CreateMap<TeamSetDto, TeamSet>().ReverseMap();
        //订单--bpy
        CreateMap<SalesOrderMainModel, SalesOrderDto>().ReverseMap();
        //赋码管理--bpy
        CreateMap<CodingManagementDTO, CodingManagementModel>().ReverseMap();
    }
}
